package com.dycc.main_componet.custom;

import android.content.Context;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.MotionEvent;

import com.dycc.libary.view.NoScrollViewPager;

/**
 * 解决ViewPager嵌套  滑动时间混乱问题
 * Created by wxk on 2018/1/26 0026.
 */
public class ChildViewPager extends NoScrollViewPager {
//
//    public static  final int RIGHT_FLIP=1;
//    public static  final int LEFT_FLIP=2;
//    private TabLayout tabLayout;
//
//    public void setTableLayout(TabLayout tabLayout) {
//        this.tabLayout = tabLayout;
//    }
//
//    /**
//     * 滑动方位标识
//     */
//    private int flip_limit;
//
//    public void setFlip_limit(int flip_limit) {
//        this.flip_limit = flip_limit;
//    }

    public ChildViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public ChildViewPager(Context context) {
        super(context);
    }

    /**
     * 触摸时按下的点
     **/
    PointF downP = new PointF();



    /**
     * 触摸时当前的点
     **/
    PointF curP = new PointF();

    @Override
    public boolean onTouchEvent(MotionEvent arg0) {

        //每次进行onTouch事件都记录当前的按下的坐标
        if (getChildCount() <= 1)
        {
            return super.onTouchEvent(arg0);
        }
//        if (tabLayout!=null){
//            int currentItem=tabLayout.getSelectedTabPosition();
//            switch (flip_limit){
//                case RIGHT_FLIP:
//                    int count=tabLayout.getTabCount();
//                    if (currentItem==count-1){
//                        return super.onTouchEvent(arg0);
//                    }
//                    break;
//                case LEFT_FLIP:
//                        if (currentItem==0){
//                            return super.onTouchEvent(arg0);
//                        }
//                    break;
//                default:
//                    break;
//            }
//        }

//        curP.x = arg0.getX();
//        curP.y = arg0.getY();
//        if (arg0.getAction() == MotionEvent.ACTION_DOWN)
//        {
//            //记录按下时候的坐标
//            //切记不可用 downP = curP ，这样在改变curP的时候，downP也会改变
//            downP.x = arg0.getX();
//            downP.y = arg0.getY();
////            //此句代码是为了通知他的父ViewPager现在进行的是本控件的操作，不要对我的操作进行干扰
////            getParent().requestDisallowInterceptTouchEvent(true);
//        }
//        if (arg0.getAction() == MotionEvent.ACTION_MOVE) {
//            if(downP.y - curP.y > 50) {
//                LogUtil.v("向上");
//            } else if(curP.y - downP.y > 50) {
//                LogUtil.v("向下");
//            } else if(downP.x - curP.x > 50) {
//                LogUtil.v("向左");
//            } else if(curP.x - downP.x > 50) {
//                LogUtil.v("向右");
//            }
//        }

//        if (arg0.getAction() == MotionEvent.ACTION_UP || arg0.getAction() == MotionEvent.ACTION_CANCEL) {

//            if (downP.x == curP.x && downP.y == curP.y) {
//                //点击事件
//                return true;
//            }
//        }

//        if (arg0.getAction() == MotionEvent.ACTION_UP || arg0.getAction() == MotionEvent.ACTION_CANCEL) {
//            //在up时判断是否按下和松手的坐标为一个点
//            //如果是一个点，将执行点击事件，不是onclick
//            getParent().requestDisallowInterceptTouchEvent(false);
//            if (downP.x == curP.x && downP.y == curP.y) {
//                //点击事件
//                return true;
//            }
//        }
        super.onTouchEvent(arg0); //注意这句不能 return super.onTouchEvent(arg0); 否则触发parent滑动
        return true;

    }

}
